﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Print_Print2b : System.Web.UI.Page
{
    public List<tblDanhMuc> listTrinhDoChuyenMon = null;
    public List<tblDanhMuc> listTrinhDoChinhTri = null;
    public List<tblDanhMuc> listNgoaiNgu = null;
    public List<tblDanhMuc> listTinHoc = null;
    _dbDataContext _db = new _dbDataContext();
    protected List<PageURL.ListThongKeChucVuDoan> listthongkechucvudoan()
    {
        var list = from p in _db.tblDoanViens
                   join c in _db.tblCongTacDoans on p.MaDonVien equals c.MaDoanVien
                   select new PageURL.ListThongKeChucVuDoan
                   {
                       DonVi = c.DonViTrucThuoc,
                       ChucVuDoan = c.ChucVuHienTai,
                       TrinhDoChuyenMon = p.TrinhDoChuyenMonID,
                       TrinhDoLyLuanChinhTri = p.tblQuanHeXaHoi.LyLuanChinhTriID,
                       Phai = p.Phai,
                       DangVien = p.DangVien,
                       DanToc = SecurityLib.ToolsMore.ConvertToUnSign(p.tblDanhMuc.TenDanhMuc.Trim()),
                       TonGiao = SecurityLib.ToolsMore.ConvertToUnSign(p.tblDanhMuc1.TenDanhMuc.Trim()),
                       NgoaiNgu = p.NgoaiNgu,
                       TinHoc = p.TinHoc,
                       Tuoi = tuoi(Convert.ToDateTime(p.NgaySinh))
                   };
        return list.ToList();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            listTrinhDoChuyenMon = _db.tblDanhMucs.Where(r => r.Loai == 1016).ToList();
            listTrinhDoChinhTri = _db.tblDanhMucs.Where(r => r.Loai == 7).ToList();
            listNgoaiNgu = _db.tblDanhMucs.Where(r => r.Loai == 4).ToList();
            listTinHoc = _db.tblDanhMucs.Where(r => r.Loai == 5).ToList();
            List<int> ListTuoi = new List<int>();
            ListTuoi.Add(20);
            ListTuoi.Add(25);
            ListTuoi.Add(30);
            ListTuoi.Add(35);
            ListTuoi.Add(40);
            ListTuoi.Add(42);
            ListTuoi.Add(43);
            BindDataToTable("TDB", lblcaptinhtong, lblcaptinhbithuphobithu, lblbanthuongvu, lblbanchaphanh, lblcanbochuyentrach);
            BindDataToTable("CSD", lblcaphuyentong, lblcaphuyenbithuphobithu, lblcaphuyenbanthuongvu, lblcaphuyenbanchaphanh, lblcaphuyencanbochuyentrach);
            BindDataToTableCapCoSo(lblcapcosotong, lblcapcosobithu, lblcapcosophobithu);
            BindDataToTableCapXaPhuongThiTran(lblchidoantong, lblchidoanbithu, lblchidoanphobithu);
        }

        try
        {
            Response.Clear();
            Response.AddHeader("content-disposition", "attachment; filename=Phuluc2b.xls");
            Response.Charset = "";
            Response.ContentType = "application/vnd.xls";
            System.IO.StringWriter stringWrite = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
            grid_Detail.RenderControl(htmlWrite);
            Response.Write(stringWrite.ToString());
            Response.End();
            Response.Redirect("javascript:window.close()");
        }
        catch (Exception ex)
        {
            Response.Write("<script>alert('" + ex.Message + "')</script>");
        }

    }
    private void BindDataToTableCapCoSo(Label lbl1, Label lbl2, Label lbl3)
    {
        var listcapcha = listthongkechucvudoan().Where(r => r.DonVi.Substring(0, 3).ToUpper() == "DCS" || r.DonVi.Substring(0, 3).ToUpper() == "CDC").ToList();
        //tính tổng cộng nam, nữ
        string stcapcha = "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Phai == true).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Phai == false).Count().ToString() + "</td>";
        //tính tổng theo trình độ
        foreach (var item in listTrinhDoChuyenMon)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TrinhDoChuyenMon == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo trình độ lý luận chính trị
        foreach (var item in listTrinhDoChinhTri)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TrinhDoLyLuanChinhTri == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng cộng đảng viên
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.DangVien == true).Count().ToString() + "</td>";
        //tính tổng cộng dân tộc thiểu số
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.DanToc.ToUpper() != "KINH").Count().ToString() + "</td>";
        //tính tổng cộng tôn giáo
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TonGiao.ToUpper() != "KHONG").Count().ToString() + "</td>";
        //tính tổng theo trình độ ngoai ngu
        foreach (var item in listNgoaiNgu)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.NgoaiNgu == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo trình độ tin hoc
        foreach (var item in listTinHoc)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TinHoc == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo do tuoi
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi20).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi20 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi25).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi25 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi30).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi30 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi35).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi35 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi40).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi40 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi42).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi42).Count().ToString() + "</td>";
        lbl1.Text = stcapcha;
        TinhTungCapDoan(22, lbl2, listcapcha);
        TinhTungCapDoan(97, lbl3, listcapcha);

    }
    private void BindDataToTableCapXaPhuongThiTran(Label lbl1, Label lbl2, Label lbl3)
    {
        var listcapcha = listthongkechucvudoan().Where(r => r.DonVi.Substring(0, 3).ToUpper() == "CDD").ToList();
        //tính tổng cộng nam, nữ
        string stcapcha = "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Phai == true).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Phai == false).Count().ToString() + "</td>";
        //tính tổng theo trình độ
        foreach (var item in listTrinhDoChuyenMon)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TrinhDoChuyenMon == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo trình độ lý luận chính trị
        foreach (var item in listTrinhDoChinhTri)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TrinhDoLyLuanChinhTri == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng cộng đảng viên
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.DangVien == true).Count().ToString() + "</td>";
        //tính tổng cộng dân tộc thiểu số
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.DanToc.ToUpper() != "KINH").Count().ToString() + "</td>";
        //tính tổng cộng tôn giáo
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TonGiao.ToUpper() != "KHONG").Count().ToString() + "</td>";
        //tính tổng theo trình độ ngoai ngu
        foreach (var item in listNgoaiNgu)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.NgoaiNgu == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo trình độ tin hoc
        foreach (var item in listTinHoc)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TinHoc == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo do tuoi
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi20).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi20 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi25).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi25 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi30).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi30 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi35).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi35 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi40).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi40 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi42).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi42).Count().ToString() + "</td>";
        lbl1.Text = stcapcha;
        TinhTungCapDoan(22, lbl2, listcapcha);
        TinhTungCapDoan(97, lbl3, listcapcha);

    }
    private void BindDataToTable(string capdonvi, Label lbl1, Label lbl2, Label lbl3, Label lbl4, Label lbl5)
    {
        //lấy danh sách các bộ thuộc cấp tỉnh
        var listcapcha = listthongkechucvudoan().Where(r => r.DonVi.Substring(0, 3).ToUpper() == capdonvi).ToList();
        //tính tổng cộng nam, nữ
        string stcapcha = "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Phai == true).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Phai == false).Count().ToString() + "</td>";
        //tính tổng theo trình độ
        foreach (var item in listTrinhDoChuyenMon)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TrinhDoChuyenMon == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo trình độ lý luận chính trị
        foreach (var item in listTrinhDoChinhTri)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TrinhDoLyLuanChinhTri == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng cộng đảng viên
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.DangVien == true).Count().ToString() + "</td>";
        //tính tổng cộng dân tộc thiểu số
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.DanToc.ToUpper() != "KINH").Count().ToString() + "</td>";
        //tính tổng cộng tôn giáo
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TonGiao.ToUpper() != "KHONG").Count().ToString() + "</td>";
        //tính tổng theo trình độ ngoai ngu
        foreach (var item in listNgoaiNgu)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.NgoaiNgu == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo trình độ tin hoc
        foreach (var item in listTinHoc)
        {
            stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.TinHoc == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo do tuoi
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi20).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi20 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi25).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi25 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi30).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi30 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi35).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi35 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi40).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi40 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi42).Count().ToString() + "</td>";
        stcapcha += "<td style=font-weight:bold;vertical-align:middle;text-align:center;>" + listcapcha.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi42).Count().ToString() + "</td>";
        lbl1.Text = stcapcha;
        //tính số lượng các cấp chức vụ đoàn
        //bi thu, pho bi thu
        var listbithuphobithu = listcapcha.Where(r => r.ChucVuDoan == 22 || r.ChucVuDoan == 97);
        string stcaptinhbithuphobithu = "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Phai == true).Count().ToString() + "</td>";
        stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Phai == false).Count().ToString() + "</td>";
        //tính tổng theo trình độ
        foreach (var item in listTrinhDoChuyenMon)
        {
            stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.TrinhDoChuyenMon == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo trình độ lý luận chính trị
        foreach (var item in listTrinhDoChinhTri)
        {
            stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.TrinhDoLyLuanChinhTri == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng cộng đảng viên
        stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.DangVien == true).Count().ToString() + "</td>";
        //tính tổng cộng dân tộc thiểu số
        stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.DanToc.ToUpper() != "KINH").Count().ToString() + "</td>";
        //tính tổng cộng tôn giáo
        stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.TonGiao.ToUpper() != "KHONG").Count().ToString() + "</td>";
        //tính tổng theo trình độ ngoai ngu
        foreach (var item in listNgoaiNgu)
        {
            stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.NgoaiNgu == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo trình độ tin hoc
        foreach (var item in listTinHoc)
        {
            stcaptinhbithuphobithu += "<td>" + listbithuphobithu.Where(r => r.TinHoc == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo do tuoi
        stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi20).Count().ToString() + "</td>";
        stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi20 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi25).Count().ToString() + "</td>";
        stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi25 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi30).Count().ToString() + "</td>";
        stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi30 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi35).Count().ToString() + "</td>";
        stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi35 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi40).Count().ToString() + "</td>";
        stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi40 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi42).Count().ToString() + "</td>";
        stcaptinhbithuphobithu += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi42).Count().ToString() + "</td>";
        lbl2.Text = stcaptinhbithuphobithu;

        //tinh toan ban thuong vu
        TinhTungCapDoan(98, lbl3, listcapcha);
        TinhTungCapDoan(99, lbl4, listcapcha);
        TinhTungCapDoan(100, lbl5, listcapcha);
    }

    private void TinhTungCapDoan(int chucvudoan, Label lbl, List<PageURL.ListThongKeChucVuDoan> listcapcha)
    {
        var listbithuphobithu = listcapcha.Where(r => r.ChucVuDoan == chucvudoan);
        string str = "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Phai == true).Count().ToString() + "</td>";
        str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Phai == false).Count().ToString() + "</td>";
        //tính tổng theo trình độ
        foreach (var item in listTrinhDoChuyenMon)
        {
            str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.TrinhDoChuyenMon == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo trình độ lý luận chính trị
        foreach (var item in listTrinhDoChinhTri)
        {
            str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.TrinhDoLyLuanChinhTri == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng cộng đảng viên
        str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.DangVien == true).Count().ToString() + "</td>";
        //tính tổng cộng dân tộc thiểu số
        str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.DanToc.ToUpper() != "KINH").Count().ToString() + "</td>";
        //tính tổng cộng tôn giáo
        str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.TonGiao.ToUpper() != "KHONG").Count().ToString() + "</td>";
        //tính tổng theo trình độ ngoai ngu
        foreach (var item in listNgoaiNgu)
        {
            str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.NgoaiNgu == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo trình độ tin hoc
        foreach (var item in listTinHoc)
        {
            str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.TinHoc == item.ID).Count().ToString() + "</td>";
        }
        //tính tổng theo do tuoi
        str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi20).Count().ToString() + "</td>";
        str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi20 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi25).Count().ToString() + "</td>";
        str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi25 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi30).Count().ToString() + "</td>";
        str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi30 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi35).Count().ToString() + "</td>";
        str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi35 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi40).Count().ToString() + "</td>";
        str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi40 && r.Tuoi <= CatalogAccess.GetDoTuoi().DoTuoi42).Count().ToString() + "</td>";
        str += "<td style=vertical-align:middle;text-align:center;>" + listbithuphobithu.Where(r => r.Tuoi > CatalogAccess.GetDoTuoi().DoTuoi42).Count().ToString() + "</td>";
        lbl.Text = str;
    }
    //hàm chuyển đổi ngày sinh sang tuổi
    public int tuoi(DateTime ngaysinh)
    {
        DateTime now_dt = DateTime.Now;
        int year = now_dt.Year;
        int tuoi = year - ngaysinh.Year;
        return tuoi;
    }
}